package com.cx330;

public class Example07 {
    public static void main(String[] args) {
        // 1. 判断如下代码是否编译通过，如果能，结果是多少？
        short s1 = 120;
        short s2 = 8;
//        short s3 = s1 + s2; // 编译报错，short + short是int

        // 2. 判断如下代码是否编译通过，如果能，结果是多少？
        short b1 = 120;
        short b2 = 8;
        byte b3 = (byte) (b1 + b2); // 结果是-128 发生截断

        // 3. 判断如下代码是否编译通过，如果能，结果是多少？
        char c1 = '0';
        char c2 = '1';
//        char c3 = c1 + c2; // 编译报错，char + char是int

        // 4. 判断如下代码是否编译通过，如果能，结果是多少？
        char c4 = '0';
        char c5 = '1';
        System.out.println(c4 + c5); // 97

        // 5. 判断如下代码是否编译通过，如果能，结果是多少？
        int i = 4;
        long j = 120;
        double d = 34;
//        float f = 1.2; // 编译报错，1.2是double类型
//        System.out.println(i + j + d + f);

        // 6. 判断如下代码是否编译通过，如果能，结果是多少？
        int a = 1;
        int b = 2;
        double result = a / b; // a / b得到0，再自动提升为double
        System.out.println(result); // 0.0
        System.out.println((double) a / b); // 0.5 取a的值1强制转换为double，1.0 / b结果是0.5
        System.out.println((double) (a / b)); // 0.0 a / b得到0，再强制转换为double
    }
}
